import Mock from 'mockjs2'
import { builder } from '../util'

const authorityList = (parameter) => {
  console.log(parameter)
  const status = JSON.parse(parameter.body).status
  if (status === 0) {
    return {
      'status': '000000',
      'message': '',
      'timestamp': new Date().getTime(),
      'result': {
        'data': [],
        'pageNo': 1,
        'pageSize': 20,
        'totalCount': 0,
        'totalPage': 0
      }
    }
  } else {
    return {
      'status': '000000',
      'message': '',
      'timestamp': new Date().getTime(),
      'result': {
        'data': [{
          'authorityId': 'system',
          'authorityName': '系统管理',
          'functions': [{ 'functionCode': 'A', 'functionName': '新增' },
            { 'functionCode': 'U', 'functionName': '修改' },
            { 'functionCode': 'D', 'functionName': '删除' },
            { 'functionCode': 'S', 'functionName': '查询' }],
          'status': 1
        }, {
          'authorityId': 'base',
          'authorityName': '基础数据管理',
          'functions': [{ 'functionCode': 'A', 'functionName': '新增' },
            { 'functionCode': 'U', 'functionName': '修改' },
            { 'functionCode': 'D', 'functionName': '删除' },
            { 'functionCode': 'S', 'functionName': '查询' }],
          'status': 1
        }, {
          'authorityId': 'enterprise',
          'authorityName': '企业信息管理',
          'functions': [{ 'functionCode': 'A', 'functionName': '新增' },
            { 'functionCode': 'U', 'functionName': '修改' },
            { 'functionCode': 'D', 'functionName': '删除' },
            { 'functionCode': 'S', 'functionName': '查询' }],
          'status': 1
        }],
        'pageSize': 20,
        'pageNo': 1,
        'totalPage': 1,
        'totalCount': 3
      }
    }
  }
}
const authorityAdd = (parameter) => {
  console.log(parameter)
  return {
    status: '000000',
    message: '新增数据操作成功',
    data: {}
  }
}

const authorityUpdate = (parameter) => {
  console.log(parameter)
  return {
    status: '000000',
    message: '修改成功',
    data: {}
  }
}

const authorityDelete = (parameter) => {
  console.log(parameter)
  return {
    status: '000000',
    message: '删除权限操作成功',
    data: {}
  }
}

const roleList = (parameter) => {
  console.log(parameter)
  return {
    'status': '000000',
    'message': '',
    'timestamp': new Date().getTime(),
    'result': {
      'data': [],
      'pageSize': 20,
      'pageNo': 1,
      'totalPage': 1,
      'totalCount': 3
    }
  }
}
const roleAdd = (parameter) => {
  console.log(parameter)
  return {
    status: '000000',
    message: '新增数据操作成功',
    data: {}
  }
}

const roleUpdate = (parameter) => {
  console.log(parameter)
  return {
    status: '000000',
    message: '修改成功',
    data: {}
  }
}

const roleDelete = (parameter) => {
  console.log(parameter)
  return {
    status: '000000',
    message: '删除权限操作成功',
    data: {}
  }
}

const functionList = () => {
  return builder({
    'data': [
      { 'functionCode': 'A', 'functionName': '新增' },
      { 'functionCode': 'U', 'functionName': '修改' },
      { 'functionCode': 'D', 'functionName': '删除' },
      { 'functionCode': 'S', 'functionName': '查询' },
      { 'functionCode': 'I', 'functionName': '导入' },
      { 'functionCode': 'E', 'functionName': '导出' }
    ],
    'pageSize': 10,
    'pageNo': 0,
    'totalPage': 1,
    'totalCount': 6
  })
}

Mock.mock(/\/system\/authority\/list/, 'post', authorityList)
Mock.mock(/\/system\/authority\/add/, 'post', authorityAdd)
Mock.mock(/\/system\/authority\/update/, 'post', authorityUpdate)
Mock.mock(/\/system\/authority\/delete/, 'post', authorityDelete)

Mock.mock(/\/system\/role\/list/, 'post', roleList)
Mock.mock(/\/system\/role\/add/, 'post', roleAdd)
Mock.mock(/\/system\/role\/update/, 'post', roleUpdate)
Mock.mock(/\/system\/role\/delete/, 'post', roleDelete)

Mock.mock(/\/system\/function\/list/, 'post', functionList)
